#pragma once
#include <Windows.h>

class InputDetector
{
	public:
	//InputDetector() {};
	//~InputDetector() {};

	enum INPUTTYPE
	{
		ALL,
		KEYBOARD,
		MOUSE,
		GAMECONTROLLER
	};

	static InputDetector* create(INPUTTYPE type, LRESULT &vk);

	private:
	LRESULT &ret;

	void hookKeyboard();
	void hoodMouse();
	LRESULT CALLBACK MouseProc(
		int nCode,      // hook code  
		WPARAM wParam,  // message identifier  
		LPARAM lParam   // mouse coordinates  
	);
	LRESULT CALLBACK KeyboardProc(
		int code,       // hook code  
		WPARAM wParam,  // virtual-key code  
		LPARAM lParam   // keystroke-message information  
	);
};